1 Initial Corpus generation

2 General Overview over articles

2.1 Main Indicators: Publications, Authors, Countries

To start with, a general overview over the documents in the corpus.



MAIN INFORMATION ABOUT DATA

 Timespan                              2016 : 2021 
 Sources (Journals, Books, etc)        1570 
 Documents                             5228 
 Average years from publication        3.48 
 Average citations per documents       16.27 
 Average citations per year per doc    3.523 
 References                            261290 
 
DOCUMENT TYPES                     
 article               5186 
 book chapter          4 
 conference paper      2 
 data paper            1 
 editorial             28 
 review                7 
 
DOCUMENT CONTENTS
 Keywords Plus (ID)                    9134 
 Author's Keywords (DE)                12019 
 
AUTHORS
 Authors                               11995 
 Author Appearances                    16941 
 Authors of single-authored documents  972 
 Authors of multi-authored documents   11023 
 
AUTHORS COLLABORATION
 Single-authored documents             1116 
 Documents per Author                  0.436 
 Authors per Document                  2.29 
 Co-Authors per Documents              3.24 
 Collaboration Index                   2.68 
 

Annual Scientific Production

Annual Percentage Growth Rate -1.136659 


Most Productive Authors


Top manuscripts per citations


Corresponding Author's Countries


SCP: Single Country Publications

MCP: Multiple Country Publications


Total Citations per Country


Most Relevant Sources


Most Relevant Keywords
NA

And a graphical visualization

2.2 Cited references

Top 20 cited references (by corpus documents):

CR n
EWING, R., CERVERO, R., TRAVEL AND THE BUILT ENVIRONMENT: A META-ANALYSIS (2010) JOURNAL OF THE AMERICAN PLANNING ASSOCIATION, 76 (3), PP. 265-294 70
BILLIG, M., (1995) BANAL NATIONALISM, , LONDON: SAGE 67
SMITH, N., TOWARD A THEORY OF GENTRIFICATION: A BACK TO THE CITY MOVEMENT BY CAPITAL, NOT PEOPLE (1979) JOURNAL OF THE AMERICAN PLANNING ASSOCIATION, 45 (4), PP. 538-548 65
CHARLES, C.Z., THE DYNAMICS OF RACIAL RESIDENTIAL SEGREGATION (2003) ANNUAL REVIEW OF SOCIOLOGY, 29, PP. 167-207 64
SMITH, N., NEW GLOBALISM, NEW URBANISM: GENTRIFICATION AS GLOBAL URBAN STRATEGY (2002) ANTIPODE, 34 (3), PP. 427-450 61
CERVERO, R., KOCKELMAN, K., TRAVEL DEMAND AND THE 3DS: DENSITY, DIVERSITY, AND DESIGN (1997) TRANSPORTATION RESEARCH PART D: TRANSPORT AND ENVIRONMENT, 2 (3), PP. 199-219 59
WACHSMUTH, D., WEISLER, A., AIRBNB AND THE RENT GAP: GENTRIFICATION THROUGH THE SHARING ECONOMY (2018) ENVIRONMENT AND PLANNING A: ECONOMY AND SPACE, 50 (6), PP. 1147-1170 57
DE VOS, J., MOKHTARIAN, P.L., SCHWANEN, T., VAN ACKER, V., WITLOX, F., TRAVEL MODE CHOICE AND TRAVEL SATISFACTION: BRIDGING THE GAP BETWEEN DECISION UTILITY AND EXPERIENCED UTILITY (2016) TRANSPORTATION, 43 (5), PP. 771-796 50
EWING, R., CERVERO, R., TRAVEL AND THE BUILT ENVIRONMENT: A META-ANALYSIS (2010) J. AM. PLAN. ASSOC., 76 (3), PP. 265-294 50
HACKWORTH, J., SMITH, N., THE CHANGING STATE OF GENTRIFICATION (2001) TIJDSCHRIFT VOOR ECONOMISCHE EN SOCIALE GEOGRAFIE, 92 (4), PP. 464-477 46
CAO, X., MOKHTARIAN, P.L., HANDY, S.L., EXAMINING THE IMPACTS OF RESIDENTIAL SELF-SELECTION ON TRAVEL BEHAVIOUR: A FOCUS ON EMPIRICAL FINDINGS (2009) TRANSP. REV., 29 (3), PP. 359-395 43
EWING, R., CERVERO, R., TRAVEL AND THE BUILT ENVIRONMENT (2010) JOURNAL OF THE AMERICAN PLANNING ASSOCIATION, 76 (3), PP. 265-294 43
MORRIS, E.A., GUERRA, E., MOOD AND MODE: DOES HOW WE TRAVEL AFFECT HOW WE FEEL? (2015) TRANSPORTATION, 42 (1), PP. 25-43 43
KITAMURA, R., MOKHTARIAN, P.L., LAIDET, L., A MICRO-ANALYSIS OF LAND USE AND TRAVEL IN FIVE NEIGHBORHOODS IN THE SAN FRANCISCO BAY AREA (1997) TRANSPORTATION, 24 (2), PP. 125-158 40
PETTIGREW, T.F., TROPP, L.R., A META-ANALYTIC TEST OF INTERGROUP CONTACT THEORY (2006) JOURNAL OF PERSONALITY AND SOCIAL PSYCHOLOGY, 90, PP. 751-783 40
CHEN, C., GONG, H., PAASWELL, R., ROLE OF THE BUILT ENVIRONMENT ON MODE CHOICE DECISIONS: ADDITIONAL EVIDENCE ON THE IMPACT OF DENSITY (2008) TRANSPORTATION, 35 (3), PP. 285-299 39
KITAMURA, R., MOKHTARIAN, P.L., LAIDET, L., A MICRO-ANALYSIS OF LAND USE AND TRAVEL IN FIVE NEIGHBORHOODS IN THE SAN FRANCISCO BAY AREA (1997) TRANSPORTATION, 24, PP. 125-158 39
FREEMAN, L., DISPLACEMENT OR SUCCESSION? RESIDENTIAL MOBILITY IN GENTRIFYING NEIGHBORHOODS (2005) URBAN AFFAIRS REVIEW, 40 (4), PP. 463-491 38
SLATER, T., THE EVICTION OF CRITICAL PERSPECTIVES FROM GENTRIFICATION RESEARCH (2006) INTERNATIONAL JOURNAL OF URBAN AND REGIONAL RESEARCH, 30 (4), PP. 737-757 38
DE VOS, J., DERUDDER, B., VAN ACKER, V., WITLOX, F., REDUCING CAR USE: CHANGING ATTITUDES OR RELOCATING? THE INFLUENCE OF RESIDENTIAL DISSONANCE ON TRAVEL BEHAVIOR (2012) J. TRANSP. GEOGR., 22, PP. 1-9 37

3 Topic modelling

Loading required package: RColorBrewer

3.1 Topics by topwords

This might still be finetuned, but initially doesnt look that bad I think. All the topics for me seem to be somewhat identifiable. We should maybe start naming them to make their interpretation later easier.

3.2 Topics over time

Loading required package: directlabels
Loading required package: patchwork
`summarise()` has grouped output by 'PY'. You can override using the `.groups` argument.

3.3 LDAViz

Here you find a nice way of exploring topics via the LDAVIz methodology of visulizing the result of an LDA. It dispolays all topics in a 2 dimensional TSNE (similar to PCA, but optimized for graphical illustration in 2d), and also gives a nice visual representation over the topics top-word distribution and overall frequencies of this words in the corpus. The \(\lambda\) parameter regulates the importance-ordering of the topwords. High \(\lambda\) order words by the highest propability to appear in the topic to the lowest (independent of the overall word popularity in the corpus), whle low \(\lambda\) emphasize words which are very specific to the topic, and rarely appear in others.

Play a bit around. Since it would be here a bit condensed, here in fullscreen for a better overview.

4 Knowledge Bases: Co-Citation network analysis

Note: This analysis refers the co-citation analysis, where the cited references and not the original publications are the unit of analysis. See tab Technical descriptionfor additional explanations

4.1 Knowledge Bases summary

4.1.1 Main Indicators

In order to partition networks into components or clusters, we deploy a community detection technique based on the Lovain Algorithm (Blondel et al., 2008). The Lovain Algorithm is a heuristic method that attempts to optimize the modularity of communities within a network by maximizing within- and minimizing between-community connectivity. We identify the following communities = knowledge bases.

com name dgr_int dgr
1 CERVERO R. KOCKELMAN K. TRAVEL DEMAND AND THE 3DS: DENSITY DIVERSITY AND DESIGN (1997) 4102 4406
1 EWING R. CERVERO R. TRAVEL AND THE BUILT ENVIRONMENT: A META-ANALYSIS (2010) 2905 3209
1 MOKHTARIAN P.L. CAO X. EXAMINING THE IMPACTS OF RESIDENTIAL SELF-SELECTION ON TRAVEL BEHAVIOR: A FOCUS ON METHODOLOGIES (2008) 2099 2291
1 EWING R. CERVERO R. TRAVEL AND THE BUILT ENVIRONMENT (2010) 1981 2165
1 EWING R. CERVERO R. TRAVEL AND THE BUILT ENVIRONMENT: A SYNTHESIS (2001) 1860 2058
1 HANDY S. CAO X. MOKHTARIAN P. CORRELATION OR CAUSALITY BETWEEN THE BUILT ENVIRONMENT AND TRAVEL BEHAVIOR? EVIDENCE FROM NORTHERN CALIFORNIA (2005) 1740 1998
1 SAELENS B.E. SALLIS J.F. FRANK L.D. ENVIRONMENTAL CORRELATES OF WALKING AND CYCLING: FINDINGS FROM THE TRANSPORTATION URBAN DESIGN AND PLANNING LIT... 1462 1478
1 CAO X. MOKHTARIAN P.L. HANDY S.L. EXAMINING THE IMPACTS OF RESIDENTIAL SELF-SELECTION ON TRAVEL BEHAVIOUR: A FOCUS ON EMPIRICAL FINDINGS (2009) 1419 1820
1 SAELENS B.E. HANDY S.L. BUILT ENVIRONMENT CORRELATES OF WALKING: A REVIEW (2008) 1295 1318
1 BAGLEY M.N. MOKHTARIAN P.L. THE IMPACT OF RESIDENTIAL NEIGHBORHOOD TYPE ON TRAVEL BEHAVIOR: A STRUCTURAL EQUATIONS MODELING APPROACH (2002) 1241 1454
2 SMITH N. (1996) 2083 2232
2 SMITH N. TOWARD A THEORY OF GENTRIFICATION: A BACK TO THE CITY MOVEMENT BY CAPITAL NOT PEOPLE (1979) 1118 1185
2 SMITH N. NEW GLOBALISM NEW URBANISM: GENTRIFICATION AS GLOBAL URBAN STRATEGY (2002) 1087 1116
2 HACKWORTH J. SMITH N. THE CHANGING STATE OF GENTRIFICATION (2001) 961 1024
2 FREEMAN L. DISPLACEMENT OR SUCCESSION? RESIDENTIAL MOBILITY IN GENTRIFYING NEIGHBORHOODS (2005) 874 910
2 LEES L. SLATER T. WYLY E. (2008) 844 911
2 LEY D. (1996) 782 821
2 SLATER T. THE EVICTION OF CRITICAL PERSPECTIVES FROM GENTRIFICATION RESEARCH (2006) 737 767
2 MARCUSE P. GENTRIFICATION ABANDONMENT AND DISPLACEMENT: CONNECTIONS CAUSES AND POLICY RESPONSES IN NEW YORK CITY (1985) 583 603
2 NEWMAN K. WYLY E.K. THE RIGHT TO STAY PUT REVISITED: GENTRIFICATION AND RESISTANCE TO DISPLACEMENT IN NEW YORK CITY (2006) 577 591
3 OLSSON L.E. GÄRLING T. ETTEMA D. FRIMAN M. FUJII S. HAPPINESS AND SATISFACTION WITH WORK COMMUTE (2013) 2059 2284
3 DE VOS J. SCHWANEN T. VAN ACKER V. WITLOX F. TRAVEL AND SUBJECTIVE WELL-BEING: A FOCUS ON FINDINGS METHODS AND FUTURE RESEARCH NEEDS (2013) 1936 2151
3 ST-LOUIS E. MANAUGH K. VAN LIEROP D. EL-GENEIDY A. THE HAPPY COMMUTER: A COMPARISON OF COMMUTER SATISFACTION ACROSS MODES (2014) 1854 2095
3 ETTEMA D. GÄRLING T. ERIKSSON L. FRIMAN M. OLSSON L.E. FUJII S. SATISFACTION WITH TRAVEL AND SUBJECTIVE WELL-BEING: DEVELOPMENT AND TEST OF A MEASU... 1799 1983
3 ETTEMA D. GÄRLING T. OLSSON L.E. FRIMAN M. OUT-OF-HOME ACTIVITIES DAILY TRAVEL AND SUBJECTIVE WELL-BEING (2010) 1635 1777
3 DE VOS J. MOKHTARIAN P.L. SCHWANEN T. VAN ACKER V. WITLOX F. TRAVEL MODE CHOICE AND TRAVEL SATISFACTION: BRIDGING THE GAP BETWEEN DECISION UTILITY ... 1508 1907
3 YE R. TITHERIDGE H. SATISFACTION WITH THE COMMUTE: THE ROLE OF TRAVEL MODE CHOICE BUILT ENVIRONMENT AND ATTITUDES (2017) 1436 1679
3 MORRIS E.A. GUERRA E. MOOD AND MODE: DOES HOW WE TRAVEL AFFECT HOW WE FEEL? (2015) 1338 1516
3 FRIMAN M. FUJII S. ETTEMA D. GÄRLING T. OLSSON L.E. PSYCHOMETRIC ANALYSIS OF THE SATISFACTION WITH TRAVEL SCALE (2013) 1338 1513
3 ETTEMA D. FRIMAN M. GÄRLING T. OLSSON L.E. FUJII S. HOW IN-VEHICLE ACTIVITIES AFFECT WORK COMMUTERS’ SATISFACTION WITH PUBLIC TRANSPORT (2012) 976 1034
4 BILLIG M. (1995) 990 993
4 GELLNER E. (1983) 395 395
4 ANDERSON B. (1983) 314 320
4 URRY J. (2007) 255 279
4 ANDERSON B. (1991) 191 197
4 SCHAPENDONK J. STEEL G. FOLLOWING MIGRANT TRAJECTORIES: THE IM/MOBILITY OF SUB-SAHARAN AFRICANS EN ROUTE TO THE EUROPEAN UNION (2014) 146 146
4 FOX J.E. MILLER-IDRISS C. EVERYDAY NATIONHOOD (2008) 142 142
4 EDENSOR T. (2002) 140 140
4 SHELLER M. URRY J. THE NEW MOBILITIES PARADIGM (2006) 125 160
4 VALENTINE G. LIVING WITH DIFFERENCE: REFLECTIONS ON GEOGRAPHIES OF ENCOUNTER (2008) 111 123
5 CHARLES C.Z. THE DYNAMICS OF RACIAL RESIDENTIAL SEGREGATION (2003) 1310 1460
5 MASSEY D.S. DENTON N.A. (1993) 625 795
5 SAMPSON R.J. (2012) 445 648
5 WILSON W.J. (1987) 406 543
5 KRYSAN M. FARLEY R. THE RESIDENTIAL PREFERENCES OF BLACKS: DO THEY EXPLAIN PERSISTENT SEGREGATION? (2002) 297 297
5 SHARKEY P. (2013) 292 319
5 MASSEY D.S. DENTON N.A. THE DIMENSIONS OF RESIDENTIAL SEGREGATION (1988) 271 277
5 KRYSAN M. COUPER M.P. FARLEY R. FORMAN T.A. DOES RACE MATTER IN NEIGHBORHOOD PREFERENCES? RESULTS FROM A VIDEO EXPERIMENT (2009) 240 255
5 SCHELLING T.C. DYNAMIC MODELS OF SEGREGATION (1971) 176 182
5 LOGAN J.R. ALBA R.D. LOCATIONAL RETURNS TO HUMAN CAPITAL: MINORITY ACCESS TO SUBURBAN COMMUNITY RESOURCES (1993) 174 174
6 AJZEN I. THE THEORY OF PLANNED BEHAVIOR (1991) 1031 1852
6 STEG L. CAR USE: LUST AND MUST. INSTRUMENTAL SYMBOLIC AND AFFECTIVE MOTIVES FOR CAR USE (2005) 593 978
6 BAMBERG S. AJZEN I. SCHMIDT P. CHOICE OF TRAVEL MODE IN THE THEORY OF PLANNED BEHAVIOR: THE ROLES OF PAST BEHAVIOR HABIT AND REASONED ACTION (2003) 490 594
6 GÄRLING T. AXHAUSEN K.W. INTRODUCTION: HABITUAL TRAVEL CHOICE (2003) 376 600
6 FUJII S. KITAMURA R. WHAT DOES A ONE-MONTH FREE BUS TICKET DO TO HABITUAL DRIVERS? AN EXPERIMENTAL ANALYSIS OF HABIT AND ATTITUDE CHANGE (2003) 222 284
6 VERPLANKEN B. WALKER I. DAVIS A. JURASEK M. CONTEXT CHANGE AND TRAVEL MODE CHOICE: COMBINING THE HABIT DISCONTINUITY AND SELF-ACTIVATION HYPOTHESES... 221 448
6 MÜGGENBURG H. BUSCH-GEERTSEMA A. LANZENDORF M. MOBILITY BIOGRAPHIES: A REVIEW OF ACHIEVEMENTS AND CHALLENGES OF THE MOBILITY BIOGRAPHIES APPROACH A... 220 305
6 KROESEN M. HANDY S. CHORUS C. DO ATTITUDES CAUSE BEHAVIOR OR VICE VERSA? AN ALTERNATIVE CONCEPTUALIZATION OF THE ATTITUDE-BEHAVIOR RELATIONSHIP IN ... 218 823
6 GARDNER B. MODELLING MOTIVATION AND HABIT IN STABLE TRAVEL MODE CONTEXTS (2009) 201 210
6 SCHEINER J. HOLZ-RAU C. A COMPREHENSIVE STUDY OF LIFE COURSE COHORT AND PERIOD EFFECTS ON CHANGES IN TRAVEL MODE USE (2013) 198 329
7 WACHSMUTH D. WEISLER A. AIRBNB AND THE RENT GAP: GENTRIFICATION THROUGH THE SHARING ECONOMY (2018) 1564 1731
7 GUTTENTAG D. AIRBNB: DISRUPTIVE INNOVATION AND THE RISE OF AN INFORMAL TOURISM ACCOMMODATION SECTOR (2015) 671 680
7 HORN K. MERANTE M. IS HOME SHARING DRIVING UP RENTS? EVIDENCE FROM AIRBNB IN BOSTON (2017) 486 489
7 GURRAN N. PHIBBS P. WHEN TOURISTS MOVE IN: HOW SHOULD URBAN PLANNERS RESPOND TO AIRBNB? (2017) 469 478
7 GUTIÉRREZ J. GARCÍA-PALOMARES J.C. ROMANILLOS G. SALAS-OLMEDO M.H. THE ERUPTION OF AIRBNB IN TOURIST CITIES: COMPARING SPATIAL PATTERNS OF HOTELS A... 360 360
7 ZERVAS G. PROSERPIO D. BYERS J.W. THE RISE OF THE SHARING ECONOMY: ESTIMATING THE IMPACT OF AIRBNB ON THE HOTEL INDUSTRY (2017) 272 275
7 LEE D. HOW AIRBNB SHORT-TERM RENTALS EXACERBATE LOS ANGELES’S AFFORDABLE HOUSING CRISIS: ANALYSIS AND POLICY RECOMMENDATIONS (2016) 262 290
7 FERRERI M. SANYAL R. PLATFORM ECONOMIES AND URBAN PLANNING: AIRBNB AND REGULATED DEREGULATION IN LONDON (2018) 243 243
7 ADAMIAK C. MAPPING AIRBNB SUPPLY IN EUROPEAN CITIES (2018) 235 235
7 WEGMANN J. JIAO J. TAMING AIRBNB: TOWARD GUIDING PRINCIPLES FOR LOCAL REGULATION OF URBAN VACATION RENTALS BASED ON EMPIRICAL RESULTS FROM FIVE US ... 213 213

4.1.2 Development of Knowledge Bases

Warning: Removed 7 rows containing missing values (position_stack).
Warning: Removed 7 rows containing missing values (geom_text).

4.2 Technical description

In a co-cittion network, the strength of the relationship between a reference pair \(m\) and \(n\) (\(s_{m,n}^{coc}\)) is expressed by the number of publications \(C\) which are jointly citing reference \(m\) and \(n\).

\[s_{m,n}^{coc} = \sum_i c_{i,m} c_{i,n}\]

The intuition here is that references which are frequently cited together are likely to share commonalities in theory, topic, methodology, or context. It can be interpreted as a measure of similarity as evaluated by other researchers that decide to jointly cite both references. Because the publication process is time-consuming, co-citation is a backward-looking measure, which is appropriate to map the relationship between core literature of a field.

5 Research Areas: Bibliographic coupling analysis

5.1 Research Areas main summary

This is arguably the more interesting part. Here, we identify the literature’s current knowledge frontier by carrying out a bibliographic coupling analysis of the publications in our corpus. This measure uses bibliographical information of publications to establish a similarity relationship between them. Again, method details to be found in the tab Technical description. As you will see, we identify the main research area, but also a set of adjacent research areas with some theoretical/methodological/application overlap.

5.1.1 Main Characteristics

To identify communities in the field’s knowledge frontier (labeled research areas) we again use the Lovain Algorithm (Blondel et al., 2008). We identify the following communities = research areas.

`summarise()` has grouped output by 'com'. You can override using the `.groups` argument.
com com_name topic_name
1 1 11
1 1 9
1 1 7
2 2 3
2 2 1
2 2 6
3 3 3
3 3 6
3 3 1
4 4 7
4 4 10
4 4 8
5 5 3
5 5 6
5 5 4
6 6 2
6 6 5
6 6 9
7 7 6
7 7 10
7 7 9
8 8 8
8 8 7
8 8 4
9 9 11
9 9 4
9 9 7
NA NA 5
NA NA 10
NA NA 4

5.1.2 Categorization

I up to now gain only provide the 10 most central articles, which can be used to classify them

com_name AU PY TI dgr_int TC TC_year
1 DÖRRY S;SCHULZ C 2018 GREEN FINANCING, INTERRUPTED. POTENTIAL DIRECTIONS FOR SUSTAINABLE FINANCE IN LUXEMBOURG 0.0434286 24 6.000000
1 SCHINDLER M;LE TEXIER ... 2018 SPATIAL SORTING, ATTITUDES AND THE USE OF GREEN SPACE IN BRUSSELS 0.1036216 15 3.750000
1 PACCOUD A;MACE A 2018 TENURE CHANGE IN LONDON’S SUBURBS: SPREADING GENTRIFICATION OR SUBURBAN UPSCALING? 1.5411422 14 3.500000
1 GÓRCZYŃSKA M 2018 MECHANISMS OF PROPERTY OWNERSHIP CHANGE AND SOCIAL CHANGE IN INNER-CITY WARSAW (POLAND) 0.3173514 8 2.000000
1 PACCOUD A 2020 THE TOP TAIL OF THE PROPERTY WEALTH DISTRIBUTION AND THE PRODUCTION OF THE RESIDENTIAL ENVIRONMENT 0.9957092 7 3.500000
1 O'DONOGHUE C;LOUGHREY ... 2018 DECOMPOSING THE DRIVERS OF CHANGES IN INEQUALITY DURING THE GREAT RECESSION IN IRELAND USING THE FIELDS APPROACH 0.0558225 6 1.500000
1 LONG K;OMRANI H;PIJANO... 2020 IMPACT OF LOCAL PAYMENTS FOR ECOSYSTEM SERVICES ON LAND USE IN A DEVELOPED AREA OF CHINA: A QUALITATIVE ANALYSIS BASED ON ... 0.0112994 5 2.500000
1 GÓRCZYŃSKA M;ŚLESZYŃSK... 2019 IMPACT OF PROPERTY RIGHTS AND OWNERSHIP ON THE DEVELOPMENT OF WARSAW’S CONTEMPORARY CITY CENTRE 0.0422078 5 1.666667
1 PACCOUD A 2019 BADIOU, HAUSSMANN AND SAINT-SIMON: OPENING SPACES FOR THE STATE AND PLANNING BETWEEN ‘POST-POLITICS’ AND URBAN INSURGENCIES 0.1330768 4 1.333333
1 PACCOUD A;NIESSERON P;... 2021 THE ROLE OF ETHNIC CHANGE IN THE CLOSING OF RENT GAPS THROUGH BUY-TO-LET GENTRIFICATION 1.6063450 3 3.000000
2 YE R;TITHERIDGE H 2017 SATISFACTION WITH THE COMMUTE: THE ROLE OF TRAVEL MODE CHOICE, BUILT ENVIRONMENT AND ATTITUDES 8.4087915 160 32.000000
2 DING C;WANG D;LIU C;ZH... 2017 EXPLORING THE INFLUENCE OF BUILT ENVIRONMENT ON TRAVEL MODE CHOICE CONSIDERING THE MEDIATING EFFECTS OF CAR OWNERSHIP AND ... 7.9503646 166 33.200000
2 ETTEMA D;NIEUWENHUIS R 2017 RESIDENTIAL SELF-SELECTION AND TRAVEL BEHAVIOUR: WHAT ARE THE EFFECTS OF ATTITUDES, REASONS FOR LOCATION CHOICE AND THE BU... 12.1401409 76 15.200000
2 MOURA F;CAMBRA P;GONÇA... 2017 MEASURING WALKABILITY FOR DISTINCT PEDESTRIAN GROUPS WITH A PARTICIPATORY ASSESSMENT METHOD: A CASE STUDY IN LISBON 5.1335740 149 29.800000
2 SUN B;ERMAGUN A;DAN B 2017 BUILT ENVIRONMENTAL IMPACTS ON COMMUTING MODE CHOICE AND DISTANCE: EVIDENCE FROM SHANGHAI 5.9686993 121 24.200000
2 CAO X;YANG W 2017 EXAMINING THE EFFECTS OF THE BUILT ENVIRONMENT AND RESIDENTIAL SELF-SELECTION ON COMMUTING TRIPS AND THE RELATED CO2 EMISS... 10.0089447 71 14.200000
2 EWING R;HAJRASOULIHA A... 2016 STREETSCAPE FEATURES RELATED TO PEDESTRIAN ACTIVITY 6.8557936 98 16.333333
2 LIN T;WANG D;GUAN X 2017 THE BUILT ENVIRONMENT, TRAVEL ATTITUDE, AND TRAVEL BEHAVIOR: RESIDENTIAL SELF-SELECTION OR RESIDENTIAL DETERMINATION? 7.7242332 70 14.000000
2 DE VOS J;ETTEMA D;WITL... 2018 CHANGING TRAVEL BEHAVIOUR AND ATTITUDES FOLLOWING A RESIDENTIAL RELOCATION 7.7610694 65 16.250000
2 DING C;WANG Y;TANG T;M... 2018 JOINT ANALYSIS OF THE SPATIAL IMPACTS OF BUILT ENVIRONMENT ON CAR OWNERSHIP AND TRAVEL MODE CHOICE 8.6712088 58 14.500000
3 DE VOS J;MOKHTARIAN PL... 2016 TRAVEL MODE CHOICE AND TRAVEL SATISFACTION: BRIDGING THE GAP BETWEEN DECISION UTILITY AND EXPERIENCED UTILITY 6.3398768 191 31.833333
3 DE VOS J 2020 THE EFFECT OF COVID-19 AND SUBSEQUENT SOCIAL DISTANCING ON TRAVEL BEHAVIOR 2.7738788 354 177.000000
3 DE VOS J;WITLOX F 2017 TRAVEL SATISFACTION REVISITED. ON THE PIVOTAL ROLE OF TRAVEL SATISFACTION IN CONCEPTUALISING A TRAVEL BEHAVIOUR PROCESS 11.0556940 77 15.400000
3 CHATTERJEE K;CHNG S;CL... 2020 COMMUTING AND WELLBEING: A CRITICAL OVERVIEW OF THE LITERATURE WITH IMPLICATIONS FOR POLICY AND FUTURE RESEARCH 8.6221666 85 42.500000
3 SINGLETON PA 2019 WALKING (AND CYCLING) TO WELL-BEING: MODAL AND OTHER DETERMINANTS OF SUBJECTIVE WELL-BEING DURING THE COMMUTE 8.8687940 80 26.666667
3 FRIMAN M;GÄRLING T;ETT... 2017 HOW DOES TRAVEL AFFECT EMOTIONAL WELL-BEING AND LIFE SATISFACTION? 8.4904299 83 16.600000
3 DE VOS J 2019 ANALYSING THE EFFECT OF TRIP SATISFACTION ON SATISFACTION WITH THE LEISURE ACTIVITY AT THE DESTINATION OF THE TRIP, IN REL... 9.4217548 66 22.000000
3 ZHU J;FAN Y 2018 COMMUTE HAPPINESS IN XI'AN, CHINA: EFFECTS OF COMMUTE MODE, DURATION, AND FREQUENCY 10.9525816 52 13.000000
3 DE VOS J 2018 DO PEOPLE TRAVEL WITH THEIR PREFERRED TRAVEL MODE? ANALYSING THE EXTENT OF TRAVEL MODE DISSONANCE AND ITS EFFECT ON TRAVEL... 8.8450273 62 15.500000
3 ZHU J;FAN Y 2018 DAILY TRAVEL BEHAVIOR AND EMOTIONAL WELL-BEING: EFFECTS OF TRIP MODE, DURATION, PURPOSE, AND COMPANIONSHIP 8.2734755 61 15.250000
4 DE CLEEN B;STAVRAKAKIS Y 2017 DISTINCTIONS AND ARTICULATIONS: A DISCOURSE THEORETICAL FRAMEWORK FOR THE STUDY OF POPULISM AND NATIONALISM 1.6668354 142 28.400000
4 BRUBAKER R 2020 POPULISM AND NATIONALISM 1.6110006 86 43.000000
4 CRANSTON S;SCHAPENDONK... 2018 NEW DIRECTIONS IN EXPLORING THE MIGRATION INDUSTRIES: INTRODUCTION TO SPECIAL ISSUE 1.1251953 90 22.500000
4 MERRIMAN P;JONES R 2017 NATIONS, MATERIALITIES AND AFFECTS 1.2879680 57 11.400000
4 CASTELLÓ E;MIHELJ S 2018 SELLING AND CONSUMING THE NATION: UNDERSTANDING CONSUMER NATIONALISM 1.5767437 43 10.750000
4 PALONEN E 2018 PERFORMING THE NATION: THE JANUS-FACED POPULIST FOUNDATIONS OF ILLIBERALISM IN HUNGARY 1.4334870 43 10.750000
4 KAUFMANN E 2017 COMPLEXITY AND NATIONALISM 3.1704185 19 3.800000
4 MEIJERS MJ 2017 CONTAGIOUS EUROSCEPTICISM: THE IMPACT OF EUROSCEPTIC SUPPORT ON MAINSTREAM PARTY POSITIONS ON EUROPEAN INTEGRATION 0.5935979 94 18.800000
4 CHAMPION T;SHUTTLEWORTH I 2017 IS LONGER-DISTANCE MIGRATION SLOWING? AN ANALYSIS OF THE ANNUAL RECORD FOR ENGLAND AND WALES SINCE THE 1970S 1.3738127 33 6.600000
4 POLYAKOVA A;FLIGSTEIN N 2016 IS EUROPEAN INTEGRATION CAUSING EUROPE TO BECOME MORE NATIONALIST? EVIDENCE FROM THE 2007–9 FINANCIAL CRISIS 1.0072894 44 7.333333
5 MÉDARD DE CHARDON C 2019 THE CONTRADICTIONS OF BIKE-SHARE BENEFITS, PURPOSES AND OUTCOMES 0.4793444 57 19.000000
5 POJANI E;VAN ACKER V;P... 2018 CARS AS A STATUS SYMBOL: YOUTH ATTITUDES TOWARD SUSTAINABLE TRANSPORT IN A POST-SOCIALIST CITY 0.9911592 30 7.500000
5 BIRENBOIM A;DIJST M;ET... 2019 THE UTILIZATION OF IMMERSIVE VIRTUAL ENVIRONMENTS FOR THE INVESTIGATION OF ENVIRONMENTAL PREFERENCES 0.1221099 25 8.333333
5 GERBER P;THÉRIAULT M;E... 2018 MODELLING IMPACTS OF BELIEFS AND ATTITUDES ON MODE CHOICES. LESSONS FROM A SURVEY OF LUXEMBOURG CROSS-BORDER COMMUTERS 0.1909609 5 1.250000
5 DE KRUIJF J;VAN DER WA... 2021 INTEGRATED WEATHER EFFECTS ON E-CYCLING IN DAILY COMMUTING: A LONGITUDINAL EVALUATION OF WEATHER EFFECTS ON E-CYCLING IN T... 0.6496368 3 3.000000
5 VAN ACKER V;SANDOVAL S... 2021 VALUE-BASED APPROACH TO ASSESS THE IMPACT OF LIFESTYLES ON MODE SHARES 0.7567443 0 0.000000
5 SMART MJ;KLEIN NJ 2018 REMEMBRANCE OF CARS AND BUSES PAST: HOW PRIOR LIFE EXPERIENCES INFLUENCE TRAVEL 0.7669332 30 7.500000
5 WOODS R;MASTHOFF J 2017 A COMPARISON OF CAR DRIVING, PUBLIC TRANSPORT AND CYCLING EXPERIENCES IN THREE EUROPEAN CITIES 1.2734379 21 4.200000
5 BERGLUND E;LYTSY P;WES... 2016 ACTIVE TRAVELING AND ITS ASSOCIATIONS WITH SELF-RATED HEALTH, BMI AND PHYSICAL ACTIVITY: A COMPARATIVE STUDY IN THE ADULT ... 0.4067584 23 3.833333
5 GAO J;ETTEMA D;HELBICH... 2019 TRAVEL MODE ATTITUDES, URBAN CONTEXT, AND DEMOGRAPHICS: DO THEY INTERACT DIFFERENTLY FOR BICYCLE COMMUTING AND CYCLING FOR... 3.0901034 8 2.666667
6 XIE S;CHEN J 2018 BEYOND HOMEOWNERSHIP: HOUSING CONDITIONS, HOUSING SUPPORT AND RURAL MIGRANT URBAN SETTLEMENT INTENTIONS IN CHINA 2.0441647 46 11.500000
6 CHEN S;LIU Z 2016 WHAT DETERMINES THE SETTLEMENT INTENTION OF RURAL MIGRANTS IN CHINA? ECONOMIC INCENTIVES VERSUS SOCIOCULTURAL CONDITIONS 1.0180252 72 12.000000
6 XIE S;WANG J;CHEN J;RI... 2017 THE EFFECT OF HEALTH ON URBAN-SETTLEMENT INTENTION OF RURAL-URBAN MIGRANTS IN CHINA 2.3717861 26 5.200000
6 LIU Y;XU W 2017 DESTINATION CHOICES OF PERMANENT AND TEMPORARY MIGRANTS IN CHINA, 1985–2005 1.0045600 57 11.400000
6 HUANG X;LIU Y;XUE D;LI... 2018 THE EFFECTS OF SOCIAL TIES ON RURAL-URBAN MIGRANTS’ INTENTION TO SETTLE IN CITIES IN CHINA 1.0517593 47 11.750000
6 LIU Z;WANG Y;CHEN S 2017 DOES FORMAL HOUSING ENCOURAGE SETTLEMENT INTENTION OF RURAL MIGRANTS IN CHINESE CITIES? A STRUCTURAL EQUATION MODEL ANALYSIS 0.6325021 70 14.000000
6 LIN Y;ZHANG Q;CHEN W;S... 2016 ASSOCIATION BETWEEN SOCIAL INTEGRATION AND HEALTH AMONG INTERNAL MIGRANTS IN ZHONGSHAN, CHINA 1.0284097 41 6.833333
6 LIU T;WANG J 2020 BRINGING CITY SIZE IN UNDERSTANDING THE PERMANENT SETTLEMENT INTENTION OF RURAL–URBAN MIGRANTS IN CHINA 1.6424796 25 12.500000
6 KWAN M-P 2018 THE LIMITS OF THE NEIGHBORHOOD EFFECT: CONTEXTUAL UNCERTAINTIES IN GEOGRAPHIC, ENVIRONMENTAL HEALTH, AND SOCIAL SCIENCE RE... 0.2659618 118 29.500000
6 TAN S;LI Y;SONG Y;LUO ... 2017 INFLUENCE FACTORS ON SETTLEMENT INTENTION FOR FLOATING POPULATION IN URBAN AREA: A CHINA STUDY 0.9396901 32 6.400000
7 MELEADY R;SEGER CR;VER... 2017 EXAMINING THE ROLE OF POSITIVE AND NEGATIVE INTERGROUP CONTACT AND ANTI-IMMIGRANT PREJUDICE IN BREXIT 3.0902937 64 12.800000
7 LYTLE A;LEVY SR 2019 REDUCING AGEISM: EDUCATION ABOUT AGING AND EXTENDED CONTACT WITH OLDER ADULTS 2.9150460 47 15.666667
7 HÄSSLER T;ULLRICH J;BE... 2020 A LARGE-SCALE TEST OF THE LINK BETWEEN INTERGROUP CONTACT AND SUPPORT FOR SOCIAL CHANGE 2.4434243 50 25.000000
7 SHOOK NJ;HOPKINS PD;KO... 2016 THE EFFECT OF INTERGROUP CONTACT ON SECONDARY GROUP ATTITUDES AND SOCIAL DOMINANCE ORIENTATION 3.5433728 34 5.666667
7 KENDE J;PHALET K;VAN D... 2018 EQUALITY REVISITED: A CULTURAL META-ANALYSIS OF INTERGROUP CONTACT AND PREJUDICE 2.9974886 36 9.000000
7 ABRAMS D;DE VYVER JV;H... 2017 DOES TERROR DEFEAT CONTACT? INTERGROUP CONTACT AND PREJUDICE TOWARD MUSLIMS BEFORE AND AFTER THE LONDON BOMBINGS 3.4113985 30 6.000000
7 WHITE FA;TURNER RN;VER... 2019 IMPROVING INTERGROUP RELATIONS BETWEEN CATHOLICS AND PROTESTANTS IN NORTHERN IRELAND VIA E-CONTACT 3.8609494 23 7.666667
7 WÖLFER R;JASPERS E;BLA... 2017 STUDYING POSITIVE AND NEGATIVE DIRECT AND EXTENDED CONTACT: COMPLEMENTING SELF-REPORTS WITH SOCIAL NETWORK ANALYSIS 3.2859873 27 5.400000
7 OROSZ G;BÁNKI E;BŐTHE ... 2016 DON'T JUDGE A LIVING BOOK BY ITS COVER: EFFECTIVENESS OF THE LIVING LIBRARY INTERVENTION IN REDUCING PREJUDICE TOWARD ROMA... 4.3775302 20 3.333333
7 HOOK JN;FARRELL JE;JOH... 2017 INTELLECTUAL HUMILITY AND RELIGIOUS TOLERANCE 2.0737691 39 7.800000
8 DECOVILLE A;DURAND F 2019 EXPLORING CROSS-BORDER INTEGRATION IN EUROPE: HOW DO POPULATIONS CROSS BORDERS AND PERCEIVE THEIR NEIGHBOURS? 1.6896072 23 7.666667
8 KUROWSKA-PYSZ J;SZCZEP... 2017 THE ANALYSIS OF THE DETERMINANTS OF SUSTAINABLE CROSS-BORDER COOPERATION AND RECOMMENDATIONS ON ITS HARMONIZATION 0.6586132 46 9.200000
8 STOFFELEN A;IOANNIDES ... 2017 OBSTACLES TO ACHIEVING CROSS-BORDER TOURISM GOVERNANCE: A MULTI-SCALAR APPROACH FOCUSING ON THE GERMAN-CZECH BORDERLANDS 0.7485712 37 7.400000
8 MAKKONEN T;ROHDE S 2016 CROSS-BORDER REGIONAL INNOVATION SYSTEMS: CONCEPTUAL BACKGROUNDS, EMPIRICAL EVIDENCE AND POLICY IMPLICATIONS 1.0822794 25 4.166667
8 MEDEIROS E 2018 SHOULD EU CROSS-BORDER COOPERATION PROGRAMMES FOCUS MAINLY ON REDUCING BORDER OBSTACLES? [HAURIEN ELS PROGRAMES DE COOPERA... 1.0771460 25 6.250000
8 DECOVILLE A;DURAND F 2016 BUILDING A CROSS-BORDER TERRITORIAL STRATEGY BETWEEN FOUR COUNTRIES: WISHFUL THINKING? 1.4158180 16 2.666667
8 MEDEIROS E 2019 CROSS-BORDER TRANSPORTS AND CROSS-BORDER MOBILITY IN EU BORDER REGIONS 0.8520249 26 8.666667
8 SOHN C 2016 NAVIGATING BORDERS' MULTIPLICITY: THE CRITICAL POTENTIAL OF ASSEMBLAGE 0.5629865 38 6.333333
8 DURAND F;PERRIN T 2018 EUROMETROPOLIS LILLE–KORTRIJK–TOURNAI: CROSS-BORDER INTEGRATION WITH OR WITHOUT THE BORDER? 1.8287397 11 2.750000
8 NOFERINI A;BERZI M;CAM... 2020 CROSS-BORDER COOPERATION IN THE EU: EUROREGIONS AMID MULTILEVEL GOVERNANCE AND RE-TERRITORIALIZATION 0.9556537 20 10.000000
9 COCOLA-GANT A;GAGO A 2021 AIRBNB, BUY-TO-LET INVESTMENT AND TOURISM-DRIVEN DISPLACEMENT: A CASE STUDY IN LISBON 2.9138943 93 93.000000
9 DOLNICAR S 2019 A REVIEW OF RESEARCH INTO PAID ONLINE PEER-TO-PEER ACCOMMODATION: LAUNCHING THE ANNALS OF TOURISM RESEARCH CURATED COLLECT... 2.3155530 98 32.666667
9 ADAMIAK C;SZYDA B;DUBO... 2019 AIRBNB OFFER IN SPAIN-SPATIAL ANALYSIS OF THE PATTERN AND DETERMINANTS OF ITS DISTRIBUTION 1.8486606 47 15.666667
9 DEBOOSERE R;KERRIGAN D... 2019 LOCATION, LOCATION AND PROFESSIONALIZATION: A MULTILEVEL HEDONIC ANALYSIS OF AIRBNB LISTING PRICES AND REVENUE 2.6253769 33 11.000000
9 ROELOFSEN M 2018 EXPLORING THE SOCIO-SPATIAL INEQUALITIES OF AIRBNB IN SOFIA, BULGARIA 3.1794165 27 6.750000
9 GIL J;SEQUERA J 2020 THE PROFESSIONALIZATION OF AIRBNB IN MADRID: FAR FROM A COLLABORATIVE ECONOMY 2.8808142 23 11.500000
9 CELATA F;ROMANO A 2020 OVERTOURISM AND ONLINE SHORT-TERM RENTAL PLATFORMS IN ITALIAN CITIES 2.5947223 25 12.500000
9 DOGRU T;MODY M;SUESS C... 2020 THE AIRBNB PARADOX: POSITIVE EMPLOYMENT EFFECTS IN THE HOSPITALITY INDUSTRY 1.7889677 36 18.000000
9 VINOGRADOV E;LEICK B;K... 2020 AN AGENT-BASED MODELLING APPROACH TO HOUSING MARKET REGULATIONS AND AIRBNB-INDUCED TOURISM 2.4066458 23 11.500000
9 CHICA-OLMO J;GONZÁLEZ-... 2020 EFFECTS OF LOCATION ON AIRBNB APARTMENT PRICING IN MÁLAGA 1.6517469 33 16.500000
NA MUSTAFA A;HEPPENSTALL ... 2018 MODELLING BUILT-UP EXPANSION AND DENSIFICATION WITH MULTINOMIAL LOGISTIC REGRESSION, CELLULAR AUTOMATA AND GENETIC ALGORITHM 0.1632487 86 21.500000
NA AWASTHI A;OMRANI H 2019 A GOAL-ORIENTED APPROACH BASED ON FUZZY AXIOMATIC DESIGN FOR SUSTAINABLE MOBILITY PROJECT SELECTION 0.1693548 78 26.000000
NA WANG L;PIJANOWSKI B;YA... 2018 PREDICTING MULTIPLE LAND USE TRANSITIONS UNDER RAPID URBANIZATION AND IMPLICATIONS FOR LAND MANAGEMENT AND URBAN PLANNING:... 0.2924695 25 6.250000
NA WANG L;OMRANI H;ZHAO Z... 2019 ANALYSIS ON URBAN DENSIFICATION DYNAMICS AND FUTURE MODES IN SOUTHEASTERN WISCONSIN, USA 0.2938860 11 3.666667
NA OMRANI H;PARMENTIER B;... 2019 THE LAND TRANSFORMATION MODEL-CLUSTER FRAMEWORK: APPLYING K-MEANS AND THE SPARK COMPUTING ENVIRONMENT FOR LARGE SCALE LAND... 0.1996692 15 5.000000
NA DOCQUIER F;IFTIKHAR Z 2019 BRAIN DRAIN, INFORMALITY AND INEQUALITY: A SEARCH-AND-MATCHING MODEL FOR SUB-SAHARAN AFRICA 0.2980151 9 3.000000
NA BURZYNSKI M;DEUSTER C;... 2020 GEOGRAPHY OF SKILLS AND GLOBAL INEQUALITY 0.3652646 6 3.000000
NA TAYYEBI A;TAYYEBI AH;P... 2018 MODELING HISTORICAL LAND USE CHANGES AT A REGIONAL SCALE: APPLYING QUANTITY AND LOCATIONAL ERROR METRICS TO ASSESS PERFORM... 0.1469726 11 2.750000
NA WANG L;WEI Y;OMRANI H;... 2020 ANALYSIS ON RESIDENTIAL DENSITY DYNAMICS IN USA-A CASE STUDY IN SOUTHEAST WISCONSIN 0.2309972 5 2.500000
NA DOCQUIER F;KONE ZL;MAT... 2019 LABOR MARKET EFFECTS OF DEMOGRAPHIC SHIFTS AND MIGRATION IN OECD COUNTRIES 0.1799017 5 1.666667

5.1.3 Development

`summarise()` has grouped output by 'com_name'. You can override using the `.groups` argument.
Warning: Removed 6 rows containing missing values (geom_dl).
Warning: Removed 1 rows containing missing values (geom_text).

5.1.4 Connectivity between the research areas

Warning: Ignoring unknown parameters: strenght

5.2 Technical description

In a bibliographic coupling network, the coupling-strength between publications is determined by the number of commonly cited references they share, assuming a common pool of references to indicate similarity in context, methods, or theory. Formally, the strength of the relationship between a publication pair \(i\) and \(j\) (\(s_{i,j}^{bib}\)) is expressed by the number of commonly cited references.

\[s_{i,j}^{bib} = \sum_m c_{i,m} c_{j,m}\]

Since our corpus contains publications which differ strongly in terms of the number of cited references, we normalize the coupling strength by the Jaccard similarity coefficient. Here, we weight the intercept of two publications’ bibliography (shared refeences) by their union (number of all references cited by either \(i\) or \(j\)). It is bounded between zero and one, where one indicates the two publications to have an identical bibliography, and zero that they do not share any cited reference. Thereby, we prevent publications from having high coupling strength due to a large bibliography (e.g., literature surveys).

\[S_{i,j}^{jac-bib} =\frac{C(i \cap j)}{C(i \cup j)} = \frac{s_{i,j}^{bib}}{c_i + c_j - s_{i,j}^{bib}}\]

More recent articles have a higher pool of possible references to co-cite to, hence they are more likely to be coupled. Consequently, bibliographic coupling represents a forward looking measure, and the method of choice to identify the current knowledge frontier at the point of analysis.

6 Additional analysis

6.1 Authors, Themes & Journals

LS0tCnRpdGxlOiAiTHV4ZW1ib3VyZyBSZXNlYXJjaCBFdmFsdWF0aW9uIDIwMjIiCmF1dGhvcjogIkRhbmllbCBTLiBIYWluIgpkYXRlOiAiYHIgZm9ybWF0KFN5cy50aW1lKCksICclZCAlQiwgJVknKWAiCm91dHB1dDoKICBodG1sX25vdGVib29rOgogICAgZGZfcHJpbnQ6IHBhZ2VkCiAgICB0b2M6IHllcwogICAgdG9jX2RlcHRoOiAzCiAgICB0b2NfZmxvYXQ6IHllcwogICAgbnVtYmVyX3NlY3Rpb25zOiB5ZXMKICAgIGNvZGVfZm9sZGluZzogaGlkZQogIGh0bWxfZG9jdW1lbnQ6CiAgICB0b2M6IHllcwogICAgdG9jX2RlcHRoOiAnMycKICAgIGRmX3ByaW50OiBwYWdlZAotLS0KCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQojIyMgR2VuZXJpYyBwcmVhbWJsZQpybShsaXN0PWxzKCkpClN5cy5zZXRlbnYoTEFORyA9ICJlbiIpCm9wdGlvbnMoc2NpcGVuID0gNSkKc2V0LnNlZWQoMTMzNykKCiMjIyBMb2FkIHBhY2thZ2VzICAKbGlicmFyeShrbml0cikgIyBGb3IgZGlzcGxheSBvZiB0aGUgbWFya2Rvd24KbGlicmFyeShrYWJsZUV4dHJhKSAjIEZvciB0YWJsZSBzdHlsaW5nCgpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShtYWdyaXR0cikKCmxpYnJhcnkoYmlibGlvbWV0cml4KQpsaWJyYXJ5KHRpZHlncmFwaCkKbGlicmFyeShnZ3JhcGgpCgojIG93biBmdW5jdGlvbnMKc291cmNlKCJmdW5jdGlvbnMvZnVuY3Rpb25zX2Jhc2ljLlIiKQpzb3VyY2UoImZ1bmN0aW9ucy9mdW5jdGlvbnNfc3VtbWFyeS5SIikKc291cmNlKCJmdW5jdGlvbnMvMDBfcGFyYW1ldGVycy5SIikKYGBgCgpgYGB7ciBnbG9iYWxfb3B0aW9ucywgaW5jbHVkZT1GQUxTRX0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBGQUxTRSwgCiAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nID0gRkFMU0UsIAogICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IEZBTFNFKQpgYGAKCmBgYHtyLCBpbmNsdWRlPUZBTFNFfQp2YXJfaW5zdCA8LSAnTElTRVInCnZhcl9kZXB0IDwtICdVRCcKYGBgCgo8IS0tICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgLS0+CjwhLS0gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgTkVYVCBQQVJUICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIC0tPgo8IS0tICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgLS0+CgojIEluaXRpYWwgQ29ycHVzIGdlbmVyYXRpb24gCgpgYGB7cn0KTSA8LSByZWFkUkRTKHBhc3RlMCgnLi4vdGVtcC9NXycsIHN0cl90b19sb3dlcih2YXJfaW5zdCksICdfJywgc3RyX3RvX2xvd2VyKHZhcl9kZXB0KSwgJy5yZHMnKSkgJT4lIGFzX3RpYmJsZSgpICU+JSAKICBkaXN0aW5jdChVVCwgLmtlZXBfYWxsID0gVFJVRSkgJT4lIGZpbHRlcihQWSA+PSBQWV9taW4sIFBZIDw9IFBZX21heCkKYGBgCgojIEdlbmVyYWwgT3ZlcnZpZXcgb3ZlciBhcnRpY2xlcwoKIyMgTWFpbiBJbmRpY2F0b3JzOiBQdWJsaWNhdGlvbnMsIEF1dGhvcnMsIENvdW50cmllcwoKVG8gc3RhcnQgd2l0aCwgYSBnZW5lcmFsIG92ZXJ2aWV3IG92ZXIgdGhlIGRvY3VtZW50cyBpbiB0aGUgY29ycHVzLgoKYGBge3J9CnJlc3VsdHMgPC0gYmlibGlvQW5hbHlzaXMoTSwgc2VwID0gIjsiKQoKcmVzdWx0cyAlPiUgc3VtbWFyeShrID0gMTAsIHBhdXNlID0gRkFMU0UpCmBgYApBbmQgYSBncmFwaGljYWwgdmlzdWFsaXphdGlvbgoKYGBge3J9CnJlc3VsdHMgJT4lIHBsb3QoayA9IDEwLCBwYXVzZSA9IEZBTFNFKQpgYGAKCmBgYHtyfQpwcm9kX0FVIDwtIE0gJT4lIGF1dGhvclByb2RPdmVyVGltZShrID0gMTAsIGdyYXBoID0gVFJVRSkKI3Bsb3QocHJvZF9BVSRncmFwaCkKYGBgCgpgYGB7cn0Kcm0ocmVzdWx0cywgcHJvZF9BVSkKYGBgCgojIyBDaXRlZCByZWZlcmVuY2VzCgpgYGB7cn0KQ1IgPC0gcmVhZFJEUyhwYXN0ZTAoJy4uL3RlbXAvQ1JfJywgc3RyX3RvX2xvd2VyKHZhcl9pbnN0KSwgJ18nLCBzdHJfdG9fbG93ZXIodmFyX2RlcHQpLCAnLnJkcycpKSAKYGBgCgpUb3AgMjAgY2l0ZWQgcmVmZXJlbmNlcyAoYnkgY29ycHVzIGRvY3VtZW50cyk6CgpgYGB7cn0KQ1IkQ2l0ZWQgJT4lIGFzX3RpYmJsZSgpICU+JSBoZWFkKDIwKSAlPiUgCiAga2FibGUoKSAlPiUKICBrYWJsZV9zdHlsaW5nKGJvb3RzdHJhcF9vcHRpb25zID0gYygic3RyaXBlZCIsICJob3ZlciIsICJjb25kZW5zZWQiLCAicmVzcG9uc2l2ZSIpLCBmb250X3NpemUgPSA4KQpgYGAKCmBgYHtyfQpybShDUikKYGBgCgoKYGBge3J9CiNNICU+JSBnZW5fc3VtbWFyeSh0b3BfbiA9IDIwLCBsZXZlbCA9ICJQVUIiLCB3aGF0ID0gImNvdW50IiwgcGxvdCA9IFRSVUUpIApgYGAKCgo8IS0tICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgLS0+CjwhLS0gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgTkVYVCBQQVJUICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIC0tPgo8IS0tICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgLS0+CgojIFRvcGljIG1vZGVsbGluZwoKYGBge3J9CmxpYnJhcnkodGlkeXRleHQpCnRleHRfdGlkeSA8LSByZWFkUkRTKHBhc3RlMCgnLi4vdGVtcC90ZXh0X3RpZHlfJywgc3RyX3RvX2xvd2VyKHZhcl9pbnN0KSwgJ18nLCBzdHJfdG9fbG93ZXIodmFyX2RlcHQpLCAnLnJkcycpKQp0ZXh0X2xkYSA8LSByZWFkUkRTKHBhc3RlMCgnLi4vdGVtcC90ZXh0X0xEQV8nLCBzdHJfdG9fbG93ZXIodmFyX2luc3QpLCAnXycsIHN0cl90b19sb3dlcih2YXJfZGVwdCksICcucmRzJykpIApgYGAKCmBgYHtyfQp0ZXh0X2xkYV9iZXRhIDwtIHRleHRfbGRhICU+JSB0aWR5KG1hdHJpeCA9ICJiZXRhIikgCnRleHRfbGRhX2dhbW1hIDwtIHRleHRfbGRhICU+JSB0aWR5KG1hdHJpeCA9ICJnYW1tYSIpCmBgYAoKYGBge3J9CnRvcGljX25hbWVzIDwtIHRpYmJsZSggCiAgdG9waWMgPSAxOih0ZXh0X2xkYV9nYW1tYSAlPiUgcHVsbCh0b3BpYykgJT4lIG5fZGlzdGluY3QoKSksCiAgdG9waWNfbmFtZSA9IAogICAgMToodGV4dF9sZGFfZ2FtbWEgJT4lIHB1bGwodG9waWMpICU+JSBuX2Rpc3RpbmN0KCkpCiAgICAjYygnMSBUSVMgJiBNYXJrZXRzJywKICAgICMgICcyID8gVW5kZWZpbmVkICcsCiAgICAjICAnMyAoRW5lcmd5KSBFY29ub21pY3MnLAogICAgIyAgJzQgPyB1bmRlZmluZWQnLAogICAgIyAgJzUgR2VvZ3JhcGh5ICYgSW5zdGl0dXRpb25zJywKICAgICMgICc2ID8gVHJhbnNpdGlvbnMgKGdlbmVyYWwpJykKKQoKdGV4dF9sZGFfYmV0YSAlPD4lIGxlZnRfam9pbih0b3BpY19uYW1lcywgYnkgPSAndG9waWMnKQp0ZXh0X2xkYV9nYW1tYSAlPD4lIGxlZnRfam9pbih0b3BpY19uYW1lcywgYnkgPSAndG9waWMnKQpgYGAKCgpgYGB7cn0KbXljb2xfbGRhIDwtIHRleHRfbGRhX2JldGEgJT4lIGdnX2NvbG9yX3NlbGVjdChjYXQgPSB0b3BpY19uYW1lLCBwYWwgPSAiUGFpcmVkIikKYGBgCgojIyBUb3BpY3MgYnkgdG9wd29yZHMKYGBge3IsIGZpZy53aWR0aD0xNy41LCBmaWcuaGVpZ2h0PTE1fSAKdGV4dF9sZGFfYmV0YSAlPiUKICBncm91cF9ieSh0b3BpY19uYW1lKSAlPiUKICBzbGljZV9tYXgoYmV0YSwgbiA9IDEwKSAlPiUKICB1bmdyb3VwKCkgJT4lCiAgbXV0YXRlKHRlcm0gPSByZW9yZGVyX3dpdGhpbih0ZXJtLCBiZXRhLCB0b3BpY19uYW1lKSkgJT4lCiAgZ2dwbG90KGFlcyh0ZXJtLCBiZXRhLCBmaWxsID0gZmFjdG9yKHRvcGljX25hbWUpKSkgKwogIGdlb21fY29sKHNob3cubGVnZW5kID0gRkFMU0UpICsKICBmYWNldF93cmFwKH4gdG9waWNfbmFtZSwgc2NhbGVzID0gImZyZWUiKSArCiAgY29vcmRfZmxpcCgpICsKICBzY2FsZV94X3Jlb3JkZXJlZCgpICsKICBsYWJzKHggPSAiSW50cmEtdG9waWMgZGlzdHJpYnV0aW9uIG9mIHdvcmQiLAogICAgICAgeSA9ICJXb3JkcyBpbiB0b3BpYyIpICsgCiAgc2NhbGVfZmlsbF9tYW51YWwobmFtZSA9ICJMZWdlbmQiLCB2YWx1ZXMgPSBteWNvbF9sZGEpIAoKI3Bsb3RfbHkgPC0gcGxvdCAlPiUgcGxvdGx5OjpnZ3Bsb3RseSgpCiNodG1sd2lkZ2V0czo6c2F2ZVdpZGdldChwbG90bHk6OmFzX3dpZGdldChwbG90X2x5KSwgJy4uL291dHB1dFx2aXNfcGxvdGx5X3RvcGljX3Rlcm1zLmh0bWwnLCBzZWxmY29udGFpbmVkID0gVFJVRSkKYGBgCgpUaGlzIG1pZ2h0IHN0aWxsIGJlIGZpbmV0dW5lZCwgYnV0IGluaXRpYWxseSBkb2VzbnQgbG9vayB0aGF0IGJhZCBJIHRoaW5rLiBBbGwgdGhlIHRvcGljcyBmb3IgbWUgc2VlbSB0byBiZSBzb21ld2hhdCBpZGVudGlmaWFibGUuIFdlIHNob3VsZCBtYXliZSBzdGFydCBuYW1pbmcgdGhlbSB0byBtYWtlIHRoZWlyIGludGVycHJldGF0aW9uIGxhdGVyIGVhc2llci4gCgojIyBUb3BpY3Mgb3ZlciB0aW1lCgpgYGB7ciwgZmlnLndpZHRoID0gMTUsIGZpZy5oZWlnaHQ9Ny41fQp0ZXh0X2xkYV9nYW1tYSAlPiUKICByZW5hbWUod2VpZ2h0ID0gZ2FtbWEpICU+JQogIGxlZnRfam9pbihNICU+JSBzZWxlY3QoWFgsIFBZKSwgYnkgPSBjKCdkb2N1bWVudCcgPSAnWFgnKSkgJT4lCiAgbXV0YXRlKFBZID0gYXMubnVtZXJpYyhQWSkpICU+JQogIGdyb3VwX2J5KFBZLCB0b3BpY19uYW1lKSAlPiUgc3VtbWFyaXNlKHdlaWdodCA9IHN1bSh3ZWlnaHQpKSAlPiUgdW5ncm91cCgpICU+JQogIGdyb3VwX2J5KFBZKSAlPiUgbXV0YXRlKHdlaWdodF9QWSA9IHN1bSh3ZWlnaHQpKSAlPiUgdW5ncm91cCgpICU+JQogIG11dGF0ZSh3ZWlnaHRfcmVsID0gd2VpZ2h0IC8gd2VpZ2h0X1BZKSAlPiUKICBzZWxlY3QoUFksIHRvcGljX25hbWUsIHdlaWdodCwgd2VpZ2h0X3JlbCkgJT4lCiAgZmlsdGVyKFBZID49IFBZX21pbiAmIFBZIDw9IFBZX21heCkgJT4lCiAgYXJyYW5nZShQWSwgdG9waWNfbmFtZSkgJT4lCiAgcGxvdF9zdW1tYXJ5X3RpbWVsaW5lKHkxID0gd2VpZ2h0LCB5MiA9IHdlaWdodF9yZWwsIHQgPSBQWSwgYnkgPSB0b3BpY19uYW1lLCAgcGFsID0gIlBhaXJlZCIsIGxhYmVsID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAgICAgeTFfdGV4dCA9ICJUb3BpYyBwb3B1bGFyaXR5IGFubnVhbHkiLCB5Ml90ZXh0ID0gIlNoYXJlIG9mIHRvcGljIGFubnVhbGx5IikgKwogIHhsaW0oYygyMDE2LCAyMDIxKSkKYGBgCgojIyBMREFWaXoKSGVyZSB5b3UgZmluZCBhIG5pY2Ugd2F5IG9mIGV4cGxvcmluZyB0b3BpY3MgdmlhIHRoZSBgTERBVkl6YCBtZXRob2RvbG9neSBvZiB2aXN1bGl6aW5nIHRoZSByZXN1bHQgb2YgYW4gTERBLiBJdCBkaXNwb2xheXMgYWxsIHRvcGljcyBpbiBhIDIgZGltZW5zaW9uYWwgVFNORSAoc2ltaWxhciB0byBQQ0EsIGJ1dCBvcHRpbWl6ZWQgZm9yIGdyYXBoaWNhbCBpbGx1c3RyYXRpb24gaW4gMmQpLCBhbmQgYWxzbyBnaXZlcyBhIG5pY2UgdmlzdWFsIHJlcHJlc2VudGF0aW9uIG92ZXIgdGhlIHRvcGljcyB0b3Atd29yZCBkaXN0cmlidXRpb24gYW5kIG92ZXJhbGwgZnJlcXVlbmNpZXMgb2YgdGhpcyB3b3JkcyBpbiB0aGUgY29ycHVzLiBUaGUgJFxsYW1iZGEkIHBhcmFtZXRlciByZWd1bGF0ZXMgdGhlIGltcG9ydGFuY2Utb3JkZXJpbmcgb2YgdGhlIHRvcHdvcmRzLiBIaWdoICRcbGFtYmRhJCBvcmRlciB3b3JkcyBieSB0aGUgaGlnaGVzdCBwcm9wYWJpbGl0eSB0byBhcHBlYXIgaW4gdGhlIHRvcGljIHRvIHRoZSBsb3dlc3QgKGluZGVwZW5kZW50IG9mIHRoZSBvdmVyYWxsIHdvcmQgcG9wdWxhcml0eSBpbiB0aGUgY29ycHVzKSwgd2hsZSBsb3cgJFxsYW1iZGEkIGVtcGhhc2l6ZSB3b3JkcyB3aGljaCBhcmUgdmVyeSBzcGVjaWZpYyB0byB0aGUgdG9waWMsIGFuZCByYXJlbHkgYXBwZWFyIGluIG90aGVycy4KClBsYXkgYSBiaXQgYXJvdW5kLiBTaW5jZSBpdCB3b3VsZCBiZSBoZXJlIGEgYml0IGNvbmRlbnNlZCwgaGVyZSBpbiBmdWxsc2NyZWVuIGZvciBhIGJldHRlciBvdmVydmlldy4KCjwhLS0gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIC0tPgo8IS0tICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBORVhUIFBBUlQgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgLS0+CjwhLS0gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIC0tPgo8IS0tICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KCmBgYHtyfQpybSh0ZXh0X3RpZHksIHRleHRfbGRhKQpgYGAKCgojIEtub3dsZWRnZSBCYXNlczogQ28tQ2l0YXRpb24gbmV0d29yayBhbmFseXNpcyB7LnRhYnNldH0KCmBgYHtyfQpDX253IDwtIHJlYWRSRFMocGFzdGUwKCcuLi90ZW1wL0NfbndfJywgc3RyX3RvX2xvd2VyKHZhcl9pbnN0KSwgJ18nLCBzdHJfdG9fbG93ZXIodmFyX2RlcHQpLCAnLnJkcycpKQpgYGAKCmBgYHtyfQpjb21fbmFtZXNfY2l0IDwtIHRpYmJsZSggCiAgY29tID0gMTooQ19udyAlPiUgcHVsbChjb20pICU+JSBuX2Rpc3RpbmN0KCkpLAogIGNvbV9uYW1lID0gCiAgICAxOihDX253ICU+JSBwdWxsKGNvbSkgJT4lIG5fZGlzdGluY3QoKSkKICAgICNjKCcxIE1MUCcsCiAgICAjJzIgVElTJywKICAgICMnMyBHZW9ncmFwaHknLAogICAgIyc0IEludGVybWVkaWFyaWVzJywKICAgICMnNSBNb2RlbGxpbmcnLAogICAgIyc2ID8gVW5kZWZpbmVkIChkaWZmdXNpb24pJywKICAgICMnNyBTb2Npb2xvZ3kxJywKICAgICMnOCBNYW5hZ2VtZW50JywKICAgICMnOSBTaGFyaW5nIEVjb25vbXknKQopCmBgYAoKYGBge3J9CkNfbncgJTw+JSBsZWZ0X2pvaW4oY29tX25hbWVzX2NpdCwgYnkgPSAiY29tIikKYGBgCgpgYGB7cn0KbXljb2xfY2l0IDwtIENfbncgJT4lIGdnX2NvbG9yX3NlbGVjdChjYXQgPSBjb21fbmFtZSwgcGFsID0gIlNldDEiKQpgYGAKCgoqKk5vdGU6KiogVGhpcyBhbmFseXNpcyByZWZlcnMgdGhlIGNvLWNpdGF0aW9uIGFuYWx5c2lzLCB3aGVyZSB0aGUgY2l0ZWQgcmVmZXJlbmNlcyBhbmQgbm90IHRoZSBvcmlnaW5hbCBwdWJsaWNhdGlvbnMgYXJlIHRoZSB1bml0IG9mIGFuYWx5c2lzLiBTZWUgdGFiIGBUZWNobmljYWwgZGVzY3JpcHRpb25gZm9yIGFkZGl0aW9uYWwgZXhwbGFuYXRpb25zCgojIyBLbm93bGVkZ2UgQmFzZXMgc3VtbWFyeQoKIyMjIE1haW4gSW5kaWNhdG9ycwpJbiBvcmRlciB0byBwYXJ0aXRpb24gbmV0d29ya3MgaW50byBjb21wb25lbnRzIG9yIGNsdXN0ZXJzLCB3ZSBkZXBsb3kgYSAqKmNvbW11bml0eSBkZXRlY3Rpb24qKiB0ZWNobmlxdWUgYmFzZWQgb24gdGhlICoqTG92YWluIEFsZ29yaXRobSoqIChCbG9uZGVsIGV0IGFsLiwgMjAwOCkuIFRoZSBMb3ZhaW4gQWxnb3JpdGhtIGlzIGEgaGV1cmlzdGljIG1ldGhvZCB0aGF0IGF0dGVtcHRzIHRvIG9wdGltaXplIHRoZSBtb2R1bGFyaXR5IG9mIGNvbW11bml0aWVzIHdpdGhpbiBhIG5ldHdvcmsgYnkgbWF4aW1pemluZyB3aXRoaW4tIGFuZCBtaW5pbWl6aW5nIGJldHdlZW4tY29tbXVuaXR5IGNvbm5lY3Rpdml0eS4gV2UgaWRlbnRpZnkgdGhlIGZvbGxvd2luZyBjb21tdW5pdGllcyA9IGtub3dsZWRnZSBiYXNlcy4KCmBgYHtyfQpDX253ICU+JQogIGdyb3VwX2J5KGNvbV9uYW1lKSAlPiUKICBzdW1tYXJpc2UobiA9IG4oKSwgZGVuc2l0eV9pbnQgPSAoKHN1bShkZ3JfaW50KSAvIChuKCkgKiAobigpIC0gMSkpKSAqIDEwMCkgJT4lIHJvdW5kKDMpKSAlPiUKICByZWxvY2F0ZShjb21fbmFtZSwgZXZlcnl0aGluZygpKQpgYGAKCmBgYHtyfQpDX253ICU+JSBncm91cF9ieShjb20pICU+JSAKICBzZWxlY3QoY29tLCBuYW1lLCBkZ3JfaW50LCBkZ3IpICU+JQogIGFycmFuZ2UoY29tLCBkZXNjKGRncl9pbnQpKSAlPiUKICBtdXRhdGUobmFtZSA9IG5hbWUgJT4lIHN0cl90cnVuYygxNTApKSAlPiUKICBzbGljZV9tYXgob3JkZXJfYnkgPSBkZ3JfaW50LCBuID0gMTAsIHdpdGhfdGllcyA9IEZBTFNFKSAlPiUgCiAga2FibGUoKSAlPiUKICBrYWJsZV9zdHlsaW5nKGJvb3RzdHJhcF9vcHRpb25zID0gYygic3RyaXBlZCIsICJob3ZlciIsICJjb25kZW5zZWQiLCAicmVzcG9uc2l2ZSIpLCBmb250X3NpemUgPSA4KQpgYGAKIyMjIERldmVsb3BtZW50IG9mIEtub3dsZWRnZSBCYXNlcwoKYGBge3J9CmVsXzJtIDwtIHJlYWRSRFMocGFzdGUwKCcuLi90ZW1wL2VsXzJtXycsIHN0cl90b19sb3dlcih2YXJfaW5zdCksICdfJywgc3RyX3RvX2xvd2VyKHZhcl9kZXB0KSwgJy5yZHMnKSkgJT4lCiAgZHJvcF9uYSgpCmBgYAoKCmBgYHtyfQpjaXRfY29tX3llYXIgPC0gZWxfMm0gJT4lCiAgY291bnQoY29tX2NpdCwgUFksIG5hbWUgPSAnVEMnKSAlPiUKICBncm91cF9ieShQWSkgJT4lCiAgbXV0YXRlKFRDX3JlbCA9IFRDIC8gc3VtKFRDKSkgJT4lCiAgdW5ncm91cCgpICU+JQogIGFycmFuZ2UoUFksIGNvbV9jaXQpICU+JQogIGxlZnRfam9pbihjb21fbmFtZXNfY2l0ICwgYnkgPSBjKCdjb21fY2l0JyA9ICdjb20nKSkgJT4lIAogIGNvbXBsZXRlKGNvbV9uYW1lLCBQWSwgZmlsbCA9IGxpc3QoVEMgPSAwLCBUQ19yZWwgPSAwKSkKCmBgYAoKYGBge3IsIGZpZy53aWR0aCA9IDE1LCBmaWcuaGVpZ2h0PTcuNX0KY2l0X2NvbV95ZWFyICU+JQogIHBsb3Rfc3VtbWFyeV90aW1lbGluZSh5MSA9IFRDLCB5MiA9IFRDX3JlbCwgdCA9IFBZLCBieSA9IGNvbV9uYW1lLCBwYWwgPSAiU2V0MSIsIGxhYmVsID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAgICAgeTFfdGV4dCA9ICJOdW1iZXIgY2l0YXRpb25zIHJlY2lldmVkIGFubnVhbGx5IiwgIHkyX3RleHQgPSAiU2hhcmUgb2YgY2l0YXRpb25zIHJlY2lldmVkIGFubnVhbGx5IikgKwogIHhsaW0oYygyMDE2LCAyMDIxKSkgCmBgYAoKIyMgVGVjaG5pY2FsIGRlc2NyaXB0aW9uCkluIGEgY28tY2l0dGlvbiBuZXR3b3JrLCB0aGUgc3RyZW5ndGggb2YgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGEgcmVmZXJlbmNlIHBhaXIgJG0kIGFuZCAkbiQgKCRzX3ttLG59Xntjb2N9JCkgaXMgZXhwcmVzc2VkIGJ5IHRoZSBudW1iZXIgb2YgcHVibGljYXRpb25zICRDJCB3aGljaCBhcmUgam9pbnRseSBjaXRpbmcgcmVmZXJlbmNlICRtJCBhbmQgJG4kLiAKCiQkc197bSxufV57Y29jfSA9IFxzdW1faSBjX3tpLG19IGNfe2ksbn0kJAoKVGhlIGludHVpdGlvbiBoZXJlIGlzIHRoYXQgcmVmZXJlbmNlcyB3aGljaCBhcmUgZnJlcXVlbnRseSBjaXRlZCB0b2dldGhlciBhcmUgbGlrZWx5IHRvIHNoYXJlIGNvbW1vbmFsaXRpZXMgaW4gdGhlb3J5LCB0b3BpYywgbWV0aG9kb2xvZ3ksIG9yIGNvbnRleHQuIEl0IGNhbiBiZSBpbnRlcnByZXRlZCBhcyBhIG1lYXN1cmUgb2Ygc2ltaWxhcml0eSBhcyBldmFsdWF0ZWQgYnkgb3RoZXIgcmVzZWFyY2hlcnMgdGhhdCBkZWNpZGUgdG8gam9pbnRseSBjaXRlIGJvdGggcmVmZXJlbmNlcy4gQmVjYXVzZSB0aGUgcHVibGljYXRpb24gcHJvY2VzcyBpcyB0aW1lLWNvbnN1bWluZywgY28tY2l0YXRpb24gaXMgYSBiYWNrd2FyZC1sb29raW5nIG1lYXN1cmUsIHdoaWNoIGlzIGFwcHJvcHJpYXRlIHRvIG1hcCB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gY29yZSBsaXRlcmF0dXJlIG9mIGEgZmllbGQuCgoKPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgLS0+CjwhLS0gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIC0tPgo8IS0tICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIE5FWFQgUEFSVCAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgLS0+CjwhLS0gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIC0tPgoKIyBSZXNlYXJjaCBBcmVhczogQmlibGlvZ3JhcGhpYyBjb3VwbGluZyBhbmFseXNpcyB7LnRhYnNldH0KCiMjIFJlc2VhcmNoIEFyZWFzIG1haW4gc3VtbWFyeQoKVGhpcyBpcyBhcmd1YWJseSB0aGUgbW9yZSBpbnRlcmVzdGluZyBwYXJ0LiBIZXJlLCB3ZSBpZGVudGlmeSB0aGUgbGl0ZXJhdHVyZSdzIGN1cnJlbnQga25vd2xlZGdlIGZyb250aWVyIGJ5IGNhcnJ5aW5nIG91dCBhIGJpYmxpb2dyYXBoaWMgY291cGxpbmcgYW5hbHlzaXMgb2YgdGhlIHB1YmxpY2F0aW9ucyBpbiBvdXIgY29ycHVzLiBUaGlzIG1lYXN1cmUgIHVzZXMgYmlibGlvZ3JhcGhpY2FsIGluZm9ybWF0aW9uIG9mICBwdWJsaWNhdGlvbnMgdG8gZXN0YWJsaXNoIGEgc2ltaWxhcml0eSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGVtLiBBZ2FpbiwgbWV0aG9kIGRldGFpbHMgdG8gYmUgZm91bmQgaW4gdGhlIHRhYiBgVGVjaG5pY2FsIGRlc2NyaXB0aW9uYC4gQXMgeW91IHdpbGwgc2VlLCB3ZSBpZGVudGlmeSB0aGUgbWFpbiByZXNlYXJjaCBhcmVhLCBidXQgYWxzbyBhIHNldCBvZiBhZGphY2VudCByZXNlYXJjaCBhcmVhcyB3aXRoIHNvbWUgdGhlb3JldGljYWwvbWV0aG9kb2xvZ2ljYWwvYXBwbGljYXRpb24gb3ZlcmxhcC4KCmBgYHtyfQpNX2JpYiA8LSByZWFkUkRTKHBhc3RlMCgnLi4vdGVtcC9NX2JpYl8nLCBzdHJfdG9fbG93ZXIodmFyX2luc3QpLCAnXycsIHN0cl90b19sb3dlcih2YXJfZGVwdCksICcucmRzJykpICU+JSBhc190aWJibGUoKQpgYGAKCmBgYHtyfQpjb21fbmFtZXNfYmliIDwtIHRpYmJsZSggCiAgY29tID0gMTooTV9iaWIgJT4lIHB1bGwoY29tKSAlPiUgbl9kaXN0aW5jdCgpKSwKICBjb21fbmFtZSA9IAogICAgMTooTV9iaWIgJT4lIHB1bGwoY29tKSAlPiUgbl9kaXN0aW5jdCgpKQogICAgI2MoJzEgTUxQIC8gVElTJywgCiAgICAjICAnMiBNTFAnLAogICAgIyAgJzMgR2VvZ3JhcGh5JywKICAgICMgICc0IFBvbGljeScpCikKYGBgCgpgYGB7cn0KTV9iaWIgJTw+JSBsZWZ0X2pvaW4oY29tX25hbWVzX2JpYiwgYnkgPSAiY29tIikKYGBgCgpgYGB7cn0KbXljb2xfYmliIDwtIE1fYmliICU+JSBnZ19jb2xvcl9zZWxlY3QoY2F0ID0gY29tX25hbWUsIHBhbCA9ICJQYWlyZWQiKQpgYGAKCiMjIyBNYWluIENoYXJhY3RlcmlzdGljcwoKVG8gaWRlbnRpZnkgY29tbXVuaXRpZXMgaW4gdGhlIGZpZWxkJ3Mga25vd2xlZGdlIGZyb250aWVyIChsYWJlbGVkICoqcmVzZWFyY2ggYXJlYXMqKikgd2UgYWdhaW4gdXNlIHRoZSAqKkxvdmFpbiBBbGdvcml0aG0qKiAoQmxvbmRlbCBldCBhbC4sIDIwMDgpLiBXZSBpZGVudGlmeSB0aGUgZm9sbG93aW5nIGNvbW11bml0aWVzID0gcmVzZWFyY2ggYXJlYXMuCgpgYGB7cn0KY29tX3N1bW1hcnlfYmliIDwtIE1fYmliICU+JQogIGRyb3BfbmEoY29tKSAlPiUKICBncm91cF9ieShjb20sIGNvbV9uYW1lKSAlPiUKICBzdW1tYXJpc2UobiA9IG4oKSwgZGVuc2l0eV9pbnQgPSAoKHN1bShkZ3JfaW50KSAvIChuKCkgKiAobigpIC0gMSkpKSAqIDEwMCkgJT4lIHJvdW5kKDMpKSAlPiUKICBzZWxlY3QoY29tLCBjb21fbmFtZSwgZXZlcnl0aGluZygpKQpgYGAKCmBgYHtyfQpjb21fc3VtbWFyeV9iaWIKYGBgCgpgYGB7cn0KY29tX3RvcF9iaWIgPC0gdGV4dF9sZGFfZ2FtbWEgJT4lCiAgbGVmdF9qb2luKE1fYmliICU+JSBzZWxlY3QoWFgsIGNvbSksIGJ5ID0gYygnZG9jdW1lbnQnID0gJ1hYJykpICU+JQogIGNvdW50KGNvbSwgdG9waWNfbmFtZSwgd3QgPSBnYW1tYSwgbmFtZSA9ICd3ZWlnaHQnKSAlPiUKICBsZWZ0X2pvaW4oY29tX25hbWVzX2JpYiwgYnkgPSAiY29tIikgJT4lCiAgbXV0YXRlKHdlaWdodCA9IHdlaWdodCAlPiUgcm91bmQoMCkpICU+JQogIGdyb3VwX2J5KGNvbSkgJT4lCiAgc2xpY2VfbWF4KHdlaWdodCwgbiA9IDMsIHdpdGhfdGllcyA9IEZBTFNFKSAlPiUKICB1bmdyb3VwKCkgJT4lCiAgc2VsZWN0KGNvbSwgY29tX25hbWUsIHRvcGljX25hbWUpIApgYGAKCmBgYHtyfQojIFRPRE86IFdvcmsgb24KI2VsXzJtICU+JQojICBjb3VudChjb21fYmliLCBjb21fY2l0KSAlPiUKIyAgbGVmdF9qb2luKGNvbV9uYW1lc19iaWIsIGJ5ID0gYygiY29tX2JpYiIgPSAiY29tIikpICU+JQojICBsZWZ0X2pvaW4oY29tX25hbWVzX2NpdCwgYnkgPSBjKCJjb21fY2l0IiA9ICJjb20iKSkKYGBgCgpgYGB7cn0KY29tX3RvcF9iaWIgJT4lIAogIGthYmxlKCkgJT4lCiAga2FibGVfc3R5bGluZyhib290c3RyYXBfb3B0aW9ucyA9IGMoInN0cmlwZWQiLCAiaG92ZXIiLCAiY29uZGVuc2VkIiwgInJlc3BvbnNpdmUiKSwgZm9udF9zaXplID0gOCkKYGBgCgoKIyMjIENhdGVnb3JpemF0aW9uCgpJIHVwIHRvIG5vdyBnYWluIG9ubHkgcHJvdmlkZSB0aGUgMTAgbW9zdCBjZW50cmFsIGFydGljbGVzLCB3aGljaCBjYW4gYmUgdXNlZCB0byBjbGFzc2lmeSB0aGVtCgpgYGB7cn0KTV9iaWIgJT4lIGdyb3VwX2J5KGNvbV9uYW1lKSAlPiUgCiAgbGVmdF9qb2luKE0gJT4lIHNlbGVjdChYWCwgQVUsIFBZLCBUSSwgVEMpLCBieSA9ICdYWCcpICU+JQogIG11dGF0ZShkZ3Jfc2VsZWN0ID0gKGRncl9pbnQgLyBtYXgoZGdyX2ludCkgKiAoVEMgLyBtYXgoVEMpKSkgKSAlPiUKICBzbGljZV9tYXgob3JkZXJfYnkgPSBkZ3Jfc2VsZWN0LCBuID0gMTAsIHdpdGhfdGllcyA9IEZBTFNFKSAlPiUgCiAgbXV0YXRlKFRDX3llYXIgPSBUQyAvICgyMDIxICsgMSAtIFBZKSwKICAgICAgICAgQVUgPSBBVSAlPiUgc3RyX3RydW5jKDI1KSwKICAgICAgICAgVEkgPSBUSSAlPiUgc3RyX3RydW5jKDEyNSkpICU+JQogIHNlbGVjdChjb21fbmFtZSwgQVUsIFBZLCBUSSwgZGdyX2ludCwgVEMsIFRDX3llYXIpICU+JSAKICBrYWJsZSgpICU+JQogIGthYmxlX3N0eWxpbmcoYm9vdHN0cmFwX29wdGlvbnMgPSBjKCJzdHJpcGVkIiwgImhvdmVyIiwgImNvbmRlbnNlZCIsICJyZXNwb25zaXZlIiksIGZvbnRfc2l6ZSA9IDgpCmBgYAoKIyMjIERldmVsb3BtZW50CgpgYGB7ciwgZmlnLndpZHRoID0gMTUsIGZpZy5oZWlnaHQ9Ny41fQpNX2JpYiAlPiUKICBsZWZ0X2pvaW4oTSAlPiUgc2VsZWN0KFhYLCBQWSksIGJ5ID0gJ1hYJykgJT4lCiAgbXV0YXRlKFBZID0gUFkgJT4lIGFzLm51bWVyaWMoKSkgJT4lCiAgZ3JvdXBfYnkoY29tX25hbWUsIFBZKSAlPiUgc3VtbWFyaXNlKG4gPSBuKCkpICU+JSB1bmdyb3VwKCkgJT4lCiAgZ3JvdXBfYnkoUFkpICU+JSBtdXRhdGUobl9QWSA9IHN1bShuKSkgJT4lIHVuZ3JvdXAoKSAlPiUKICBtdXRhdGUobl9yZWwgPSBuIC8gbl9QWSkgJT4lCiAgc2VsZWN0KGNvbV9uYW1lLCBQWSwgbiwgbl9yZWwpICU+JQogIGFycmFuZ2UoY29tX25hbWUsIFBZKSAlPiUgCiAgZmlsdGVyKFBZID49IDE5OTUpICU+JQogIGNvbXBsZXRlKGNvbV9uYW1lLCBQWSwgZmlsbCA9IGxpc3QobiA9IDAsIG5fcmVsID0gMCkpICU+JQogIHBsb3Rfc3VtbWFyeV90aW1lbGluZSh5MSA9IG4sIHkyID0gbl9yZWwsIHQgPSBQWSwgYnkgPSBjb21fbmFtZSwgbGFiZWwgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICAgICB5MV90ZXh0ID0gIk51bWJlciBwdWJsaWNhdGlvbnMgYW5udWFsbHkiLCB5Ml90ZXh0ID0gIlNoYXJlIG9mIHB1YmxpY2F0aW9ucyBhbm51YWxseSIpICsKICB4bGltKGMoMjAxNiwgMjAyMSkpCmBgYAoKCiMjIyBDb25uZWN0aXZpdHkgYmV0d2VlbiB0aGUgcmVzZWFyY2ggYXJlYXMKCmBgYHtyfQpnX2FnZyA8LSByZWFkUkRTKHBhc3RlMCgnLi4vdGVtcC9nX2JpYl9hZ2dfJywgc3RyX3RvX2xvd2VyKHZhcl9pbnN0KSwgJ18nLCBzdHJfdG9fbG93ZXIodmFyX2RlcHQpLCAnLnJkcycpKSAlTj4lCiAgYXJyYW5nZShjb20pICMgJT4lCiMgICBtdXRhdGUobmFtZSA9IG5hbWVzX3JhICU+JSBwdWxsKGNvbV9yYV9uYW1lKSwKIyAgICAgICAgICBjb2xvciA9IGNvbHNfcmEpCmBgYAoKYGBge3IsIGZpZy5oZWlnaHQ9IDcuNSwgZmlnLndpZHRoPTcuNX0KZ19hZ2cgJUU+JSAKICBmaWx0ZXIod2VpZ2h0ID4gMCAmIGZyb20gIT0gdG8pICU+JQogIGZpbHRlcih3ZWlnaHQgPj0gcXVhbnRpbGUod2VpZ2h0LCAwLjI1KSApICAlPiUKICBnZ3JhcGgobGF5b3V0ID0gImNpcmNsZSIpICsgCiAgZ2VvbV9lZGdlX2ZhbihzdHJlbmdodCA9IDAuMDc1LCBhZXMod2lkdGggPSB3ZWlnaHQpLCBhbHBoYSA9IDAuMikgICsgCiAgZ2VvbV9ub2RlX3BvaW50KGFlcyhzaXplID0gTiwgY29sb3IgPSBmYWN0b3IoY29tKSkpICArIAogIGdlb21fbm9kZV90ZXh0KGFlcyhsYWJlbCA9IGNvbSksIHJlcGVsID0gVFJVRSkgKwogIHRoZW1lX2dyYXBoKGJhc2VfZmFtaWx5ID0gIkFyaWFsIikgKwogIHNjYWxlX2NvbG9yX2JyZXdlcihwYWxldHRlID0gJ1BhaXJlZCcpIApgYGAKCiMjIFRlY2huaWNhbCBkZXNjcmlwdGlvbgpJbiBhIGJpYmxpb2dyYXBoaWMgY291cGxpbmcgbmV0d29yaywgdGhlICoqY291cGxpbmctc3RyZW5ndGgqKiBiZXR3ZWVuIHB1YmxpY2F0aW9ucyBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBudW1iZXIgb2YgY29tbW9ubHkgY2l0ZWQgcmVmZXJlbmNlcyB0aGV5IHNoYXJlLCBhc3N1bWluZyBhIGNvbW1vbiBwb29sIG9mIHJlZmVyZW5jZXMgdG8gaW5kaWNhdGUgc2ltaWxhcml0eSBpbiBjb250ZXh0LCBtZXRob2RzLCBvciB0aGVvcnkuIEZvcm1hbGx5LCB0aGUgc3RyZW5ndGggb2YgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGEgcHVibGljYXRpb24gcGFpciAkaSQgYW5kICRqJCAoJHNfe2ksan1ee2JpYn0kKSBpcyBleHByZXNzZWQgYnkgdGhlIG51bWJlciBvZiBjb21tb25seSBjaXRlZCByZWZlcmVuY2VzLiAKCiQkc197aSxqfV57YmlifSA9IFxzdW1fbSBjX3tpLG19IGNfe2osbX0kJAoKU2luY2Ugb3VyIGNvcnB1cyBjb250YWlucyBwdWJsaWNhdGlvbnMgd2hpY2ggZGlmZmVyIHN0cm9uZ2x5IGluIHRlcm1zIG9mIHRoZSBudW1iZXIgb2YgY2l0ZWQgcmVmZXJlbmNlcywgd2Ugbm9ybWFsaXplIHRoZSBjb3VwbGluZyBzdHJlbmd0aCBieSB0aGUgSmFjY2FyZCBzaW1pbGFyaXR5IGNvZWZmaWNpZW50LiBIZXJlLCB3ZSB3ZWlnaHQgdGhlIGludGVyY2VwdCBvZiB0d28gcHVibGljYXRpb25zJyBiaWJsaW9ncmFwaHkgKHNoYXJlZCByZWZlZW5jZXMpIGJ5IHRoZWlyIHVuaW9uIChudW1iZXIgb2YgYWxsIHJlZmVyZW5jZXMgY2l0ZWQgYnkgZWl0aGVyICRpJCBvciAkaiQpLiBJdCBpcyBib3VuZGVkIGJldHdlZW4gemVybyBhbmQgb25lLCB3aGVyZSBvbmUgaW5kaWNhdGVzIHRoZSB0d28gcHVibGljYXRpb25zIHRvIGhhdmUgYW4gaWRlbnRpY2FsIGJpYmxpb2dyYXBoeSwgYW5kIHplcm8gdGhhdCB0aGV5IGRvIG5vdCBzaGFyZSBhbnkgY2l0ZWQgcmVmZXJlbmNlLiBUaGVyZWJ5LCB3ZSBwcmV2ZW50IHB1YmxpY2F0aW9ucyBmcm9tIGhhdmluZyBoaWdoIGNvdXBsaW5nIHN0cmVuZ3RoIGR1ZSB0byBhIGxhcmdlIGJpYmxpb2dyYXBoeSAoZS5nLiwgbGl0ZXJhdHVyZSBzdXJ2ZXlzKS4KCiQkU197aSxqfV57amFjLWJpYn0gPVxmcmFje0MoaSBcY2FwIGopfXtDKGkgXGN1cCBqKX0gPSBcZnJhY3tzX3tpLGp9XntiaWJ9fXtjX2kgKyBjX2ogLSBzX3tpLGp9XntiaWJ9fSQkCgoKCk1vcmUgcmVjZW50IGFydGljbGVzIGhhdmUgYSBoaWdoZXIgcG9vbCBvZiBwb3NzaWJsZSByZWZlcmVuY2VzIHRvIGNvLWNpdGUgdG8sIGhlbmNlIHRoZXkgYXJlIG1vcmUgbGlrZWx5IHRvIGJlIGNvdXBsZWQuIENvbnNlcXVlbnRseSwgYmlibGlvZ3JhcGhpYyBjb3VwbGluZyByZXByZXNlbnRzIGEgZm9yd2FyZCBsb29raW5nIG1lYXN1cmUsIGFuZCB0aGUgbWV0aG9kIG9mIGNob2ljZSB0byBpZGVudGlmeSB0aGUgY3VycmVudCBrbm93bGVkZ2UgZnJvbnRpZXIgYXQgdGhlIHBvaW50IG9mIGFuYWx5c2lzLgoKCgpgYGB7cn0KI00gJT4lIAojICBhcnJhbmdlKFBZLCBYWCkgJT4lCiMgIHNlbGVjdChQWSwgWFgsIEFVKSAlPiUKIyB3cml0ZV9jc3YyKCcuLi8uLi90ZW1wL3RlbXBfSURzLmNzdicpCmBgYAoKCjwhLS0gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIC0tPgo8IS0tICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBORVhUIFBBUlQgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgLS0+CjwhLS0gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIC0tPgo8IS0tICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KCgojIEFkZGl0aW9uYWwgYW5hbHlzaXMKCiMjIEF1dGhvcnMsIFRoZW1lcyAmIEpvdXJuYWxzCgpgYGB7ciwgZmlnLndpZHRoPTIwLCBmaWcuaGVpZ2h0PTE3LjV9Ck1fdGhyZWVmaWVsZCA8LSByZWFkUkRTKHBhc3RlMCgnLi4vdGVtcC90aHJlZWZpZWxkXycsIHN0cl90b19sb3dlcih2YXJfaW5zdCksICdfJywgc3RyX3RvX2xvd2VyKHZhcl9kZXB0KSwgJy5yZHMnKSkgCmBgYAoKYGBge3IsIGZpZy53aWR0aD0xNy41LCBmaWcuaGVpZ2h0PTE3LjV9Ck1fdGhyZWVmaWVsZApgYGAKCmBgYHtyfQpybShNX3RocmVlZmllbGQpCmBgYAoKCgoKYGBge3IsIGZpZy53aWR0aD0xNy41LCBmaWcuaGVpZ2h0PTE3LjV9CiMjIyBDb25jZXB0dWFsIHRyYWplY3RvcmllczogSGlzdG9yaWNhbCBjaXRhdGlvbiBwYXRoIGFuYWx5c2lzCiNoaXN0UmVzdWx0cyA8LSByZWFkUkRTKHBhc3RlMCgnLi4vdGVtcC9oaXN0UmVzdWx0XycsIHN0cl90b19sb3dlcih2YXJfaW5zdCksICdfJywgc3RyX3RvX2xvd2VyKHZhcl9kZXB0KSwgJy5yZHMnKSkgCiNoaXN0UmVzdWx0cyAlPiUgaGlzdFBsb3QobiA9NTAsIHNpemUgPSAxMCwgbGFiZWxzaXplID0gNy41KQojcm0oaGlzdFJlc3VsdHMpCmBgYAoKCg==